package mysql

import "gorm.io/gorm"

type Good struct {
	gorm.Model
	GoodName     string `gorm:"type:varchar(30);not null;comment:'商品的名称'" json:"good_name"`
	Image        string `gorm:"type:varchar(255);not null;comment:'商品的图片'" json:"image"`
	Video        string `gorm:"type:varchar(255);not null;comment:'商品的图片'" json:"video"`
	GoodCode     string `gorm:"type:varchar(50);not null;comment:'商品的编码'" json:"goodCode"`
	GoodType     string `gorm:"type:varchar(30);not null;comment:'商品的分类'" json:"goodType"`
	SellingPoint string `gorm:"type:varchar(255); not null;comment:'商品的卖点'" json:"sellingPoint"`
	Inventory    int64  `gorm:"type:int;not null;comment:'商品的库存'" json:"inventory"`
	SalesVolume  int64  `gorm:"type: int;not null;comment:'商品的销量'" json:"salesVolume"`
	PageView     int64  `gorm:"type:int;not null;comment:'商品的浏览量'" json:"pageView"`
	Status       int64  `gorm:"type: int;not null;comment:'商品的状态'" json:"status"`
}

func (g *Good) Create() error {
	return DB.Debug().Create(&g).Error
}

func (g *Good) List() (list []*Good, err error) {
	err = DB.Debug().Find(&list).Error
	return
}

func (g *Good) Find(id int64) (list []*Good, err error) {
	err = DB.Debug().Where("id =?", id).Find(&list).Error
	if err != nil {
		return nil, err
	}
	return
}
